home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS08.ADF / Text / Generic DiskDrive < prev    next >
Text File  |  1986-04-02  |  9KB  |  163 lines

  1.  
  2. Okay, here goes a description of how I made the 5 1/4 inch drive work
  3. (with Transformer).  First off, a warning: +5 volts, +12 volts,
  4. and ground are all available on pins of the external disk connector.
  5. Mess up, and you will almost surely do nasty things to your Amiga's
  6. power supply.  On the other hand, it would be pretty difficult to
  7. damage your external drive.  Standard 5 inch drives use open-collector
  8. drivers to feed the cable, and these will only be damaged if you
  9. short the pins to +5 volts while the drive is attempting to make
  10. the pin go to ground.  Shorts to ground should do no harm.  If you
  11. are uncertain as to what I just said, probably you want to BUY your
  12. 5 inch drive....
  13.  
  14. So I can't scare you off so easily, huh?  OK, the drive itself must
  15. be able to keep up with step pulses 5 milliseconds apart.  This rate
  16. was MEASURED on my Amiga with an oscilloscope. This rate is
  17. fairly fast for 5 inch drives, and not all "IBM compatible" drives
  18. will do.  Mine is a Toshiba, bought just for the purpose as my
  19. Shugart drives wouldn't work.  Also, you must supply power separately
  20. for the drive, as the Amiga power supply is not designed for the load 
  21. of a 5 inch drive, just one 3 incher.  If you don't have such a
  22. critter setting around, I suggest you buy a box with power supply
  23. from your friendly neighborhood computer surplus store.  If no
  24. such thing is available, you probably are not going to save very much
  25. over the Commodore drive, which would save you a lot of trouble, too.
  26.  
  27. Finally, you need a little circuit, 2 ICs and 4 resistors or a dual
  28. inline resistor pack, plus some kind of connectors for the back of
  29. the Amiga and for the edge fingers on your drive.  The DB23 male you
  30. need for the Amiga is anything but easy to find; I have NO source
  31. in San Diego.  What I did was to take a DB25 and cut of the end of
  32. the outer shell and two pins to allow it to physically fit on the back
  33. of my extension drive.  BE CAREFUL WITH PIN NUMBERS! DB connectors
  34. count across one row and then across the other; removing two pins
  35. either messes up ALL the numbers or HALF of them, depending on which
  36. end you cut off.  I then took a small (approx. 2 by 2 1/2 inches)
  37. piece of perfboard and wedged it endwise between the rows of pins
  38. of the DB25/3 so that when plugged in to the back of the Amiga, the
  39. board sticks straight out. I  soldered short wires between the connector
  40. pins and some wirewrap pins.  Amazingly, it stays put with no glue or
  41. anything else.  I then wirewrapped the rest of the circuit, using
  42. a 34 pin header for the output.  This allowed me to use a fairly
  43. standard ribbon cable with edge connector on one end and header connector
  44. on the other.  The following chart lists the pins on the Amiga DB23,
  45. its function/logic name, and the pin on the drive edge fingers.
  46. The Amiga pinout is from the V1.0 Hardware manual, and the logic
  47. names are as used by Shugart (fairly standard).  The drive pinout is
  48. absolutely standard, on both the edge fingers and the power connector.
  49. The Amiga pin numbers are for a DB23 connector; if you have kludged
  50. a DB25 DON'T FORGET TO ADJUST THE NUMBERS!!!
  51.  
  52. DB23       Drive edge     Logic Name        Function
  53. ----       ----------     ----------        --------
  54. 1          34             DSKRDY*           Drive says it's ready
  55. 2          30             DSKRD*            Read data from drive
  56. 3          ground
  57. 4          ground
  58. 5          ground         Connect all of these to the ODD numbered
  59. 6          ground         pins of the ribbon cable
  60. 7          ground
  61. 8          (16)           DSKMOTOR*         Don't directly connect this;
  62.                                             see the circuit below!
  63. 9          12             DSKSEL2*          Not needed; Amiga offsets
  64.                                             drive select pins so every
  65.                                             drive thinks it's drive 1.
  66.                                             The output select 1 is the
  67.                                             input select 2, etc. Just
  68.                                             use select 1 and put your
  69.                                             5 incher on the end of the
  70.                                             chain!
  71. 10         n/c            RESET*            Drive reset (not used by
  72.                                             most drives; see circuit
  73.                                             below).
  74. 11         n/c            DSKCHNG*          Disk changed; not used.
  75. 12         n/c            +5 VDC            Use to power circuit below
  76.                                             ONLY. Do not use to power
  77.                                             drive.
  78. 13         32             DSKSIDE*          Side select to drive
  79. 14         28             DSKPROT*          Write protect to Amiga
  80. 15         26             DSKTRK0*          Drive at track zero to Amiga
  81. 16         24             DKWEB*            Write enable to drive
  82. 17         22             DKWDB*            Write data to drive
  83. 18         20             DSKSTEP*          Stepping pulses to drive
  84. 19         18             DSKDIREC          Step in or out
  85. 20         14             DSKSEL3*          Don't use!
  86. 21         10             DSKSEL1*          Select 1, also used by circuit
  87.                                             below.
  88. 22         8              DSKINDEX          Index pulses to Amiga.
  89.  
  90. Remaining edge connector pins are unused, and should not be connected.
  91.  
  92. The following circuit performs the only Amiga-specific function
  93. not usually found in a floppy drive.  In the Amiga world, each drive
  94. latches the motor on signal when it is selected, and only turns off
  95. its motor when it is selected with the motor signal off.  In other
  96. words, DSKMOTOR* to the drive takes on the value of Amiga pin 8
  97. AT THE TIME DSKSEL1* IS ASSERTED, and it REMAINS IN THAT STATE until
  98. the drive is selected AGAIN with pin 8 deasserted.  The circuit consists
  99. of a D-type flip-flop whose D input is pin 8 and whose output drives
  100. DSKMOTOR*.  DSKSEL1* triggers the flip-flop.  Because the drive will
  101. pull up the DSKMOTOR* signal, and because it is poor practice to
  102. directly drive a cable from a flip-flop, an open-collector inverter/
  103. driver IC is used to buffer the DSKMOTOR* signal.  A spare section of
  104. the same IC is used to invert the DSKSEL1* signal, since the flip-flop
  105. triggers on rising edge and DSKSEL1* asserts on falling edge.
  106.  
  107. Because the Amiga expects a drive on the cable, pin 8 is open-collector
  108. and must be pulled up on the circuit board.  Likewise the output of the
  109. inverter used to invert DSKSEL1*; DSKSEL1* itself is pulled up in the
  110. drive.  In addition, the S and R inputs of the flip-flop must be pulled
  111. high.  Resistor values should be approximately 1000 ohms; as high as
  112. 10K ohms would be fine.  A package of 7 or 13 resistors in a DIP
  113. package would be great; you can then wirewrap a 14 pin socket for them.
  114.  
  115. The flip-flop should be a 7474 type; any one of 7474, 74L74, 74LS74,
  116. 74H74, 74S74, 74AS74, 74ALS74 would be just fine.  If you need to buy one,
  117. I would go for 74LS74 or 7474.  Likewise for the open-collector inverter;
  118. any variation of 7405 would do.  Only 2 of 6 inverters in the 7405 and
  119. one of two flip-flops in the 7474 will be used.  Wire as follows:
  120.  
  121. Amiga DB23 pin 8 to a pullup resistor and to pin 2 of the 7474 (D input).
  122.  
  123. Amiga DB23 pin 21 (DSKSEL1*) to ribbon pin 10 to 7405 pin 5 (inverter input).
  124.  
  125. 7405 pin 6 (inverter output) to another pullup resistor and to
  126. 7474 pin 3 (trigger input).
  127.  
  128. 7474 pin 4 to a third pullup (preset input).
  129.  
  130. Amiga DB23 pin 10 to a fourth pullup resistor and to 7474 pin 1 (reset
  131. input).  This assures the drive gets deselected when the Amiga resets.
  132.  
  133. 7474 pin 6 (inverted output) to 7405 pin 3 (second inverter input).
  134.  
  135. 7405 pin 4 (second inverter output) to ribbon pin 16 (DSKMOTOR*).
  136.  
  137. 7474 pin 5, the uninverted output, is unused.
  138.  
  139. 7474 pin 7 is ground and 7474 pin 14 is +5 volts.
  140.  
  141. 7405 pin 7 is ground and 7405 pin 14 is +5 volts.
  142.  
  143. Use Amiga pin 12 as the source for the +5 volts needed by the 2 ICs and
  144. the pullup resistors, NOTHING ELSE.
  145.  
  146. I suggest you draw the above circuit on a piece of paper so you
  147. understand it before trying it!
  148.  
  149. REMEMBER, NO CONNECTION to Amiga pin 23 (+12 volts).
  150.  
  151. You will probably have to play with the jumpers on the drive.
  152.  
  153. When properly working, the drive LED will go on and the drive start
  154. spinning when you load the Transformer and hit carriage return to
  155. its "insert boot disk" prompt, even if there is no disk in the
  156. drive.  The light should stay on for about 3 seconds and then go off.
  157.  
  158. Good Luck!
  159.  
  160. -Marty
  161.  
  162.  
  163. Press <CR> to continue: